package XmlReaderPkg;

import java.io.File; 
import java.io.IOException; 
import java.util.List; 
import java.util.Scanner;

import org.jdom2.Document; 
import org.jdom2.Element; 
import org.jdom2.JDOMException; 
import org.jdom2.input.SAXBuilder; 
import org.jdom2.output.XMLOutputter; 

public class XmlReader 
{
	private String dateiPfad;
	private String katalogVerzeichniss;
	private File f;
	
	public XmlReader()
	{
		//Verzeichnis auslesen
		System.out.println("----------------------------");
		System.out.println("Verzeichnis mit Katalogen...");
		Scanner sc = new Scanner(System.in);
		this.katalogVerzeichniss = sc.nextLine();
																	///home/alexej/git/webprogrammierung/xml
		f = new File(this.katalogVerzeichniss);
		
		File[] fileArray = f.listFiles();
		for(int i = 0; i < fileArray.length; i++)
		{
			String[] datei = fileArray[i].getAbsolutePath().split("/");
			
			if (!fileArray[i].isDirectory() && (datei[datei.length-1].matches("[0-9a-zA-Z]*(.xml){1}")))
			{ 	
				System.out.println(datei[datei.length-1]);
			}
		}
		
		Document doc = null; 

	    //XMl auslesen  
		System.out.println("----------------------------");
        System.out.println("Katalog auswaehlen");
        Scanner sc2 = new Scanner(System.in);
        this.dateiPfad = sc2.nextLine();
       
        File f = new File(this.katalogVerzeichniss+"/"+this.dateiPfad); 

        try { 
            // Das Dokument erstellen 
            SAXBuilder builder = new SAXBuilder(); 
            doc = builder.build(f); 
            XMLOutputter fmt = new XMLOutputter(); 

            // Katalogname ausgeben
            Element element = doc.getRootElement(); 
            System.out.println("\nKatalog: " + element.getAttributeValue("name")); 
            
            // Liste aller Fragen erstellen
            List<Element> elementListe = element.getChildren();
            
            // Anzahl der Fragen auslesen
            int anzFragen = Integer.parseInt(element.getAttributeValue("anzFragen"));
            System.out.println("Anzahl der Fragen: " + anzFragen);
            
            // Alle Fragen ausgeben
            for(int i = 0; i < anzFragen; i++)
            {
            	
            	System.out.println(elementListe.get(i).getChild("bezeichnung").getValue());
            }
            
        } catch (JDOMException e) { 
            e.printStackTrace(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
        } 
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		XmlReader xmlReader = new XmlReader();

	}
}
